<?php
class Utils
{
	public static  function randomString($length=10,$uc=TRUE,$n=FALSE,$sc=FALSE)
        {
              $source = 'abcdefghijklmnopqrstuvwxyz';
	      if($uc==1) $source .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	      if($n==1) $source .= '1234567890';
	      if($sc==1) $source .= '|@#~$%()=^*+[]{}-_';
	      if($length>0){
		        $rstr = "";
		        $source = str_split($source,1);
		          	for($i=1; $i<=$length; $i++){
		              	mt_srand((double)microtime() * 1000000);
		               	$num = mt_rand(1,count($source));
		              	$rstr .= $source[$num-1];
		  			}
	   		}
   		return $rstr;
	}
	
	/**
         * Obtiene una fecha de tipo datetime y Devuelve una fecha en formato invertido.
         * @param string Fecha en formato: $fecha_datesql
         * @return string Fecha en el formato dmy hora
         */
	public static  function formatearFecha_dmy_hm($fecha_datesql)
        {
		list( $year, $month, $day, $hour) = split( '[- ]', $fecha_datesql );
		return  $day."/".$month."/".$year."  " .$hour;			
	}
	
	/**
         * Retorna una fecha en formato dd/mm/yyyy.
         * @param string Fecha en formato de datetime mysql.$fecha_datesql
         * @return string La fecha en formato dd/mm/yyyy
         */
	public static  function formatearFecha_dmy($fecha_datesql)
        {
		list( $year, $month, $day ) = split( '[/.-]', $fecha_datesql );
		return  $day."/".$month."/".$year;			
	}

    /**
         * Retorna una fecha en formato dd/mm/yyyy.
         * @param string Fecha en formato de datetime mysql.$fecha_datesql
         * @return string La fecha en formato dd/mm/yyyy
         */
	public static  function formatearFechaDatetime_dmy($fecha_datesql)
        {
		list( $year, $month, $day ) = split( '[/.-]', $fecha_datesql );
        $dia = split(' ',$day);
		return  $dia[0]."/".$month."/".$year;
	}

	/**
         * Obtiene una fecha en formato : ddmmyyyy. y la devuelve en formato date de mysql.
         * @param string $fecha Fecha en formato ddmmyyyy.
         * @return string devuelve una fecha en formato yyyy-mm-dd.
         */
	public static  function formatearFecha_ymd($fecha)
        {
		// Los delimitadores pueden ser barras, puntos o guiones
		list( $day, $month, $year ) = split( '[/.-]', $fecha );
		return  $year."-".$month."-".$day;			
	}
	/**
         *
         * @param <type> $value
         * @return <type> 
         */
	public static  function escape($value)
	{
	   // Stripslashes if we need to
	   if (get_magic_quotes_gpc()) {
	       $value = stripslashes($value);
	   }
	
	   // Quote it if it's not an integer
	   $value = mysql_real_escape_string($value);
	   
	   return $value;
	}
}
?>